package javase1.day08.demo02;
/*
在String中==是进行对象的地址值比较，如果确实需要字符串的内容比较，可以使用两个方法：

public boolean equals(Object obj):参数可以是任意对象，只有参数是一个字符串并且字符串内容完全相同，才会返回true,否则false
注意事项：
1任何对象都能用object进行接收
2equals方法具有对称性无论是a.equals(b)还是b.equals(a)是一样的
3如果一个常量比较一个变量
 推荐常量.equals(变量)："abc".equals(str)

public boolean eaqualsIgnoreCase(Object obj):忽略大小写，内容比较
 */
public class Demo01StringEquals {
    public static void main(String[] args) {
        String str1="Hello";
        String str2="Hello";
        char[] charArray={'H','e','l','l','o'};
        String str3=new String(charArray);
        System.out.println(str1.equals(str2));//true
        System.out.println(str2.equals(str3));//true
        System.out.println("Hello".equals(str1));//true
        System.out.println(str3.equals("Hello"));//true

        System.out.println("hello".equals(str1));//false
        System.out.println("=============================");

        String str4=null;                        //所有引用类型都能赋一个null，要地址没地址。
        System.out.println("Hello".equals(str4));//false
//        System.out.println(str4.equals("Hello"));//报错空指针异常java.lang.NullPointerException
        System.out.println("=============================");

        String str5="abc";
        String str6="ABC";
        System.out.println(str5.equals(str6));//false
        System.out.println(str5.equalsIgnoreCase(str6));//true

    }

}
